Fast Packet Forwarding on Commodity Platforms
نویسندگان
چکیده
Rather than using special-purpose hardware routers, software routers enable routing on commodity platforms. However, even with faster processors and multi-core platforms, the performance of software routers on commodity platforms today does not scale with high speed. We identify the limitations of commodity platforms by comparing them to high-end routers. In high end routers, each line card has its own memory for packet queues and the forwarding table (FIB), and its own processors to perform packet processing (e.g., forwarding table lookup). Packet processing is performed locally on line cards, and packets are forwarded to the outgoing interface through a dedicated high-speed switch. However, with a multi-core commodity platform, packets must be stored in a shared main memory and accessed by general-purpose processors. PCIe bus is used to transfer packets between main memory and line cards. As a result, we must leverage the hierarchical memory architecture and the processing resources in multicore commodity platforms. First, since packets are forwarded through a detour in the shared memory rather than directly between line cards, memory access becomes the main bottleneck, especially for small-size packets. (The PCIe bus becomes the bottleneck for largesize packets, which can be addressed with improved hardware techniques.) Therefore, software routers should leverage the small fast memory (cache) to improve their performance. Second, to best leverage computing resources with multiple cores, routing functions (e.g., packet forwarding, control plane) should be mapped to the appropriate place in the commodity hardware (e.g., different cores, NICs). Besides the limitations of commodity hardware, another reason for the poor performance of software routers is the different performance requirements between conventional applications and routing. In addition to throughput, routing is also sensitive to delay and delay jitter. Moreover, routing requires more predictable behavior under a range of workloads than conventional applications, especially under worst-case workloads (e.g., a burst of packets with a wide range of destinations, or routing changes due to network events). Based on the limitations of commodity hardware and the specific performance requirements of routing, we propose a fast packet forwarding mechanism leveraging today’s multi-core commodity platforms, which works well under worst-case workloads. We also propose enhancements for future multi-core commodity hardware to further improve the performance of software routers.
منابع مشابه
Network virtualization substrate with parallelized data plane
Network virtualization provides the ability to run multiple concurrent virtual networks over a shared substrate. However, it is challenging to design such a platform to host multiple heterogenous and often highly customized virtual networks. Not only high degree of flexibility is desired for virtual networks to customize their functions, fast packet forwarding is also required. This paper prese...
متن کاملRethinking Packet Forwarding Hardware
For routers and switches to handle ever-increasing bandwidth requirements, the packet “fast-path” must be handled with specialized hardware. There have been two approaches to building such packet forwarding hardware. The first is to embed particular algorithms in hardware; this is what most commodity forwarding chips do (e.g., those from Broadcom, Marvell, and Fulcrum). These chips have led to ...
متن کاملServerSwitch: A Programmable and High Performance Platform for Data Center Networks
As one of the fundamental infrastructures for cloud computing, data center networks (DCN) have recently been studied extensively. We currently use pure software-based systems, FPGA based platforms, e.g., NetFPGA, or OpenFlow switches, to implement and evaluate various DCN designs including topology design, control plane and routing, and congestion control. However, software-based approaches suf...
متن کاملA security framework for protecting traffic between collaborative domains
In this paper, we propose a novel Secure Name Service (SNS) framework for enhancing the service availability between collaborative domains (e.g., extranets). The key idea is to enforce packet authentication through resource virtualization and utilize dynamic name binding to protect servers from unauthorized accesses, denial of service (DOS) and other attacks. Different from traditional static n...
متن کاملHosting Virtual Networks on Commodity Hardware
This paper describes Trellis, a software platform for hosting multiple virtual networks on shared commodity hardware. Trellis allows each virtual network to define its own topology, control protocols, and forwarding tables, which lowers the barrier for deploying custom services on an isolated, reconfigurable, and programmable network, while amortizing costs by sharing the physical infrastructur...
متن کامل